/*****************************************************************************
*  Common tool object														 *
*                                                                            *
*  This file is part of AOI lOGIC.                                           *
*                                                                            *
*                                                                            *
*  @file     HHLOject.h														 *
*  @brief    a way simple to use common tools								 *
*                                                                            *
*  @author   Qianqiu.Liang                                                   *
*  @email    lqqz1984@126.com                                                *
*  @version  1.0.0.1														 *
*  @date     21/03 2019                                                      *
*                                                                            *
*----------------------------------------------------------------------------*
*  Remark         : Description                                              *
*----------------------------------------------------------------------------*
*  Change History :                                                          *
*  <Date>     | <Version> | <Author>       | <Description>                   *
*----------------------------------------------------------------------------*
*  2019/03/21 | 1.0.0.1   | Qianqiu.Liang  | Create file                     *
*----------------------------------------------------------------------------*
*                                                                            *
*****************************************************************************/

#pragma once

#include "CLComFileManager.h"
#include "clcomnotify.h"
#include "CLComLog.h"
#include "TaskMap.h"
#include "ThreadSafeQueue.h"
#include "CLComTicks.h"
#include "IIDFactory.h"

class CHHLOject
{
public:
	CHHLOject();
	~CHHLOject();
public:
	void EnterSection();
	void LeaveSection();

protected:


protected:
	CLComStl* GetSTL();

	CCLComFileManager* GetFileManager();

	CCLComNotify* GetNotify();

	CLComLog* GetLog();

	CIIDFactory* GetIDFactory();
private:
	CLockThisSection m_locksection;

	CLComStl m_stl;
};

